//
//  GSYHomeViewController.swift
//  GSY-微博-swift
//
//  Created by Song on 2017/11/24.
//  Copyright © 2017年 Song. All rights reserved.
//

import UIKit

/// 定义全局常量，重用cell的ID
fileprivate let cellId = "cellId"

class GSYHomeViewController: GSYBaseViewController {

    /// 微博数据数组
    fileprivate lazy var statusList = [String]();
    
    /// 加载数据
    override func loadData() {
        
        print("开始加载数据")
        
        // 模拟延时加载数据 - dispatch_after
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) {
            
            for i in 0..<20 {
                if self.isPullup {
                    // 上拉 - 将数据追加到底部
                    self.statusList.append("上拉 - \(i)")
                } else {
                    // 将数据插入到数组的顶部
                    self.statusList.insert(i.description, at: 0)
                }
            }
            
            print("加载数据结束")
            // 结束刷新控件
            self.refreshControlll?.endRefreshing();
            // 恢复上拉刷新标记
            self.isPullup = false;
            
            // 刷新表格
            self.tableViewww?.reloadData();
        }
        
    }
    
    /// 显示好友
    @objc fileprivate func showFriends() {
        
        let demoVc = GSYDemoViewController()
        
        navigationController?.pushViewController(demoVc, animated: true)
    }
}

// MARK: - 表格数据源方法
extension GSYHomeViewController {
    
    // 具体的数据源方法实现，不需要 super
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return statusList.count;
    }
    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        // 1. 取 cell
        let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath)
        
        // 2. 设置 cell
        cell.textLabel?.text = statusList[indexPath.row]
        
        // 3. 返回 cell
        return cell;
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        tableView.deselectRow(at: indexPath, animated: true) // 取消选中
    }
}

// MARK: - 设置界面
extension GSYHomeViewController {
    
    // 重写父类方法
    override func setupTableView() { // 用户已经登录了
        
        super.setupTableView();
        
        // 设置导航栏按钮 - 抽取之后的
        navItem.leftBarButtonItem = UIBarButtonItem(title: "好友啊", fontSize: 16, target: self, action: #selector(showFriends))
        
        // 注册原型cell
        tableViewww?.register(UITableViewCell.self, forCellReuseIdentifier: cellId);
    }
    
//    override func setupUI() {
//        super.setupUI()
//
//        // 设置导航栏按钮 - 抽取之后的
//        navItem.leftBarButtonItem = UIBarButtonItem(title: "好友啊", fontSize: 16, target: self, action: #selector(showFriends))
//        
//        // 注册原型cell
//        tableViewww?.register(UITableViewCell.self, forCellReuseIdentifier: cellId);
//    }
}
